#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>

#define USER "USER"
#define MY_ENV "myval"
#define MYPWD "PWD"

//获取环境变量的三种方式
//1、getenv
//2、char *env[]
//3、extern char ** environ
int main()
{
    extern char** environ;
    for(int i=0;environ[i];i++)
    {
        printf("%d:%s\n",i,environ[i]);
    }
    return 0;
}

//int main(int argc, char* argv[],char* env[])
//{
   // for(int i=0;env[i];i++)
   // {
   //     printf("env[%d]:%s\n",i,env[i]);
   // }

    //程序名、选项
    //"ls -a -b -c -d -e"
    //"ls" "-a" "-b" "-c" "-d" "-e"
    //./mycmd -a/-b/-c
    //./mycmd -ab/-ac/-bc
//    if(argc!=2)
//    {
//        printf("Usage: \n\t%s [-a/-b/-c/-ab/-bc/-ac/-abc]\n",argv[0]);
//        return 1;
//    }
//    if(strcmp("-a",argv[1])==0)
//    {
//        printf("功能a\n");
//    }
//    if(strcmp("-b",argv[1])==0)
//    {
//        printf("功能b\n");
//    }    
//    if(strcmp("-ab",argv[1])==0)
//    {
//        printf("功能ab\n");
//    }    
//    if(strcmp("-bc",argv[1])==0)
//    {
//        printf("功能bc\n");
//    }    
//    if(strcmp("-ac",argv[1])==0)
//    {
//        printf("功能ac\n");
//    }    
    //命令行参数
//    for(int i=0;i<argc;i++)
//    {
//        printf("argv[%d]->%s\n",i,argv[i]);
//    }

    //获取当前路径
//    printf("%s\n",getenv(MYPWD));

    //本地shell变量
//    char* myenv = getenv(MY_ENV);
//    if(NULL == myenv)
//    {
//        printf("%s,not found\n",MY_ENV);
//        return 1;
//    }
//    printf("%s=%s\n",MY_ENV,myenv);

    //环境变量
//    char* who=getenv(USER);
//    if(strcmp(who,"root")==0)
//    {
//       printf("user: %s\n",who);
//         printf("user: %s\n",who);
//         printf("user: %s\n",who);
//         printf("user: %s\n",who);
//    }
//    else{
//        printf("权限不足!\n");
//    }
//    return 0;
//}
